{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 什么是主题模型"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 文本分类，如新闻属于科技类、体育类、还是经济类等等，基于词袋模型\n",
    "- LDA(Latent Dirichlet Allocation)，无监督的贝叶斯模型；\n",
    "    - 基于词袋模型，文档由一组词构成的一个集合，词与词之间没有顺序及先后的关系。\n",
    "    - 一篇文档可以包含多个主题，文档中每一个词都由其中的一个主题生成\n",
    "    \n",
    "    - 一种主题模型，将文档集中每篇文档的主题按照概率分布的形式给出；\n",
    "    - 无监督算法，在训练时不需要手工标注的训练集，需要的仅仅是文档集以及指定主题的数量k即可；\n",
    "    - 训练得到的模型，对于每一个主题都可找出一些词语描述它。\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 用概率作为可信度\n",
    "- 每次看见新数据，都更新可信度\n",
    "- 需要一个模型来解释数据的生成\n",
    "\n",
    "P(主题|文档) = P(主题)*P(文档|主题)\n",
    "后验概率，先验概率，似然概率(生成模型)\n",
    "\n",
    "一篇文章的每个词都是以一定概率选择了某个主题，并从这个主题中以一定概率选择某个词语而组成\n",
    "P(单词|文档)=P(单词|主题)*P(主题|文档)\n",
    "\n",
    "对于语库中的每篇文档，LDA 定义了如下生成过程(generative process)：\n",
    "- 对每一篇文档，从主题分布中抽取一个主题\n",
    "- 从上述被抽到的主题所对应的单词分布中抽取一个单词\n",
    "- 重复上述过程直至遍历⽂文档中的每一个单词\n",
    "\n",
    "具体来说：w代表单词；d代表文档；t代表主题；大写代表总集合，小写代表个体。\n",
    "- D 中每个文档 d 都可看作一个单词序列 $<w_1,w_2,...,w_n>$，$w_i$表示第 i 个单词\n",
    "- D 中涉及的所有不同单词组成一个词汇表V，LDA以文档集合D作为输入，希望训练出两个结果向量（假设形成 k 个主题，V中一共m个单词）\n",
    "    - 对D中的每个文档d，对应到不同主题的概率 $<p_{t_1},p_{t_2},...,p_{t_k}>$，其中，$p_{t_i}$ 表示d对应T中第i个主题的概率。$p_{t_i}=n_{t_i}/n$，其中 $n_{t_i}$ 表示 d 中对应第 i 个主题的词的数目，n 表示 d 中所有词的总数\n",
    "    - 对每个T中的主题，生成不同单词的概率$<p_{w_1},p_{w_2},...,p_{w_m}>$，其中，pwi 表示t生成V中第i个单词的概率。$p_{w_i} = N_{w_i}/N$，其中 $Nwi$ 表示对应到第 t 个主题的单词 wi 的数量，N表示对应到主题 t 的单词的总数\n",
    "    \n",
    "    \n",
    "$P(w|d)=P(w|t)*P(t|d)  $  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 给定以下句子：\n",
    "- `I like to eat broccoli and bananas.`\n",
    "- `I ate a banana and spinach smoothie for breakfast.`\n",
    "- `Chinchillas and kittens are cute.`\n",
    "- `My sister adopted a kitten yesterday.`\n",
    "- `Look at this cute hamster munching on a piece of broccoli.`\n",
    "    \n",
    "### LDA用来自动发现句子或文档包含的主题；\n",
    "例如，给定上述句子，已知主题数目为 2，`LDA`产生下述结果：\n",
    "- 句子 1 和 2：100% 属于主题 `A`\n",
    "- 句子 3 和 4：100% 属于主题 `B`\n",
    "- 句子 5：60% 主题 `A`，40% 主题 `B`\n",
    "- 主题 A：`30% broccoli, 15% bananas, 10% breakfast, 10% munching...`，可以认为主题 `A` 表示**食物**\n",
    "- 主题 B：`20% chinchillas, 20% kittens, 20% cute, 15% hamster...`，可以认为主题 `B` 表示**动物**\n",
    "\n",
    "### LDA模型假设每个文档按下列方式生成：\n",
    "- 每个文档可以描述成 `k` 个主题的概率分布，每个主题可以描述成单词集的概率分布\n",
    "- 决定每个文档的单词数 N，例如：**泊松分布**生成 N 的值\n",
    "- 为文档选择一个概率分布，例如：k 个主题，**Dirichlet分布**确定属于每个主题的概率，上例中的 1/3 的食物主题 + 2/3 的动物主题\n",
    "- 按以下方法，生成文档中的每个单词：\n",
    "    - 选择一个主题，1/3 的概率选择到食物主题，2/3 的概率选择到动物主题\n",
    "    - 使用上一步选择的主题，生成单词；例如，选择到食物主题，则 30% 概率生成 `broccoli`, 15% 概率生成 `bananas`\n",
    "    - 重复，直至生成所有 N 个单词\n",
    "- 生成句子过程如下：\n",
    "    - 选择文档单词数为 5\n",
    "    - 1/2 食物主题 + 1/2 动物主题\n",
    "    - 从食物主题中选择第1个单词，`broccoli`\n",
    "    - 从动物主题中选择第2个单词，`panda`\n",
    "    - 从动物主题中选择第3个单词，`adorable`\n",
    "    - 从食物主题中选择第4个单词，`cherries`\n",
    "    - 从动物主题中选择第5个单词，`eating`\n",
    "    - 生成的句子为：`broccoli panda adorable cherries eating`\n",
    "    \n",
    "\n",
    "### LDA的学习过程\n",
    "- 给定文档集合，已知有 `K` 个主题，LDA需要学习到每个文档的主题和与该主题相关的单词。\n",
    "- 一种方法，`Gibbs sampling`如下：\n",
    "    - 遍历每个文档，给每个单词随机分配一个主题；该随机初始化的过程，已经给出了每个文档的主题，和每个主题相关的单词分布\n",
    "    - 遍历每个文档 `d` 中的单词 `w`\n",
    "        - 对于每个主题 `t`，计算：1)$P(t|d)=\\frac{N_t}{N}$，$N_t$ 为文档 `d` 中分配给主题 `t` 的单词个数，$N$ 为文档 `d` 的总单词数；2)$P(w|t)=\\frac{N_w}{N}$，$N_w$ 为**所有文档**中所有的单词 `w` 中被分配给主题 `t` 的数量，$N$ 表示分配给主题 `t` 的单词总数\n",
    "        - 给单词 `w` 重新分配一个主题，选择任一主题 `t` 的概率为 $P(t|d)*P(w|t)$\n",
    "        - 在上一步中，是在假设所有的主题分配都是正确的，除了当前单词\n",
    "    - 重复上述步骤，直至稳定，即可获得每个文档的主题和每个主题对应的单词\n",
    "    \n",
    "### LDA的用途\n",
    "- 如上所述的文本分类，无监督学习\n",
    "- 降维，将词袋模型表征的文档向量`{Word_i: count(Word_i, T) for Word_i in Vocabulary}`，降维为`{Topic_i: Weight(Topic_i, T) for Topic_i in Topics}`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 希拉里邮件分类:gensim"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:49:42.762805Z",
     "start_time": "2020-06-05T08:49:42.677153Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import re"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 文本预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:49:44.556455Z",
     "start_time": "2020-06-05T08:49:44.414380Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>ExtractedBodyText</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>B6\\nThursday, March 3, 2011 9:45 PM\\nH: Latest...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>Thx</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>H &lt;hrod17@clintonemail.com&gt;\\nFriday, March 11,...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>Pis print.\\n-•-...-^\\nH &lt; hrod17@clintonernail...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>H &lt;hrod17@clintonemail.corn&gt;\\nFriday, March 11...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Id                                  ExtractedBodyText\n",
       "1   2  B6\\nThursday, March 3, 2011 9:45 PM\\nH: Latest...\n",
       "2   3                                                Thx\n",
       "4   5  H <hrod17@clintonemail.com>\\nFriday, March 11,...\n",
       "5   6  Pis print.\\n-•-...-^\\nH < hrod17@clintonernail...\n",
       "7   8  H <hrod17@clintonemail.corn>\\nFriday, March 11..."
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(\"../datasets/HillaryEmails.csv\")\n",
    "df = df[['Id', 'ExtractedBodyText']].dropna()\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:49:46.470010Z",
     "start_time": "2020-06-05T08:49:46.463496Z"
    }
   },
   "outputs": [],
   "source": [
    "def clean_email_text(text):\n",
    "    text = text.replace('\\n', \" \")  # 替换换行符\n",
    "    text = re.sub(r\"-\", \" \", text)  # 把 \"-\" 的两个单词，分开。（比如：july-edu ==> july edu）\n",
    "    text = re.sub(r\"\\d+/\\d+/\\d+\", \"\", text)  # 日期，对主体模型没什么意义\n",
    "    text = re.sub(r\"[0-2]?[0-9]:[0-6][0-9]\", \"\", text)  # 时间，没意义\n",
    "    text = re.sub(r\"[\\w]+@[\\.\\w]+\", \"\", text)  # 邮件地址，没意义\n",
    "    text = re.sub(\n",
    "        r\"/[a-zA-Z]*[:\\//\\]*[A-Za-z0-9\\-_]+\\.+[A-Za-z0-9\\.\\/%&=\\?\\-_]+/i\", \"\",\n",
    "        text)  # 网址，没意义\n",
    "    pure_text = ''\n",
    "    # 以防还有其他特殊字符（数字）等等，我们直接把他们loop一遍，过滤掉\n",
    "    for letter in text:\n",
    "        # 只留下字母和空格\n",
    "        if letter.isalpha() or letter == ' ':\n",
    "            pure_text += letter\n",
    "    # 再把那些去除特殊字符后落单的单词，直接排除。\n",
    "    # 我们就只剩下有意义的单词了。\n",
    "    text = ' '.join(word for word in pure_text.split() if len(word) > 1)\n",
    "    return text"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:49:47.750785Z",
     "start_time": "2020-06-05T08:49:47.179972Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['Thursday March PM Latest How Syria is aiding Qaddafi and more Sid hrc memo syria aiding libya docx hrc memo syria aiding libya docx March For Hillary',\n",
       "       'Thx',\n",
       "       'Friday March PM Huma Abedin Fw Latest How Syria is aiding Qaddafi and more Sid hrc memo syria aiding libya docx Pis print',\n",
       "       'Pis print Wednesday September PM Fw Meet The Right Wing Extremist Behind Anti fvluslim Film That Sparked Deadly Riots From meat Sent Wednesday September PM To Subject Meet The Right Wing Extremist Behind Anti Muslim Film That Sparked Deadly Riots httemaxbiumenthalcommeet the right wing extremist behind anti musiim tihn that sparked deadly riots Sent from my Verizon Wireless LTE DROID US Department of State Case No Doc No Date STATE DEPT PRODUCED TO HOUSE SELECT BENGHAZI COMM SUBJECT TO AGREEMENT ON SENSITIVE INFORMATION REDACTIONS NO FOIA WAIVER STATE CB',\n",
       "       'Friday March PM Huma Abedin Fw Latest How Syria is aiding Qaddafi and more Sid hrc memo Syria aiding libya docx Pis print'],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "docs = df['ExtractedBodyText']\n",
    "docs = docs.apply(lambda s: clean_email_text(s))\n",
    "docs.head(5).values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:49:53.943890Z",
     "start_time": "2020-06-05T08:49:53.938274Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6742"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "doclist = docs.values\n",
    "len(doclist)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LDA模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:49:56.388983Z",
     "start_time": "2020-06-05T08:49:56.089168Z"
    }
   },
   "outputs": [],
   "source": [
    "from gensim import corpora, models, similarities\n",
    "import gensim"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 文本预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:49:58.661390Z",
     "start_time": "2020-06-05T08:49:58.652949Z"
    }
   },
   "outputs": [],
   "source": [
    "stoplist = [\n",
    "    'very', 'ourselves', 'am', 'doesn', 'through', 'me', 'against', 'up',\n",
    "    'just', 'her', 'ours', 'couldn', 'because', 'is', 'isn', 'it', 'only',\n",
    "    'in', 'such', 'too', 'mustn', 'under', 'their', 'if', 'to', 'my',\n",
    "    'himself', 'after', 'why', 'while', 'can', 'each', 'itself', 'his', 'all',\n",
    "    'once', 'herself', 'more', 'our', 'they', 'hasn', 'on', 'ma', 'them',\n",
    "    'its', 'where', 'did', 'll', 'you', 'didn', 'nor', 'as', 'now', 'before',\n",
    "    'those', 'yours', 'from', 'who', 'was', 'm', 'been', 'will', 'into',\n",
    "    'same', 'how', 'some', 'of', 'out', 'with', 's', 'being', 't', 'mightn',\n",
    "    'she', 'again', 'be', 'by', 'shan', 'have', 'yourselves', 'needn', 'and',\n",
    "    'are', 'o', 'these', 'further', 'most', 'yourself', 'having', 'aren',\n",
    "    'here', 'he', 'were', 'but', 'this', 'myself', 'own', 'we', 'so', 'i',\n",
    "    'does', 'both', 'when', 'between', 'd', 'had', 'the', 'y', 'has', 'down',\n",
    "    'off', 'than', 'haven', 'whom', 'wouldn', 'should', 've', 'over',\n",
    "    'themselves', 'few', 'then', 'hadn', 'what', 'until', 'won', 'no', 'about',\n",
    "    'any', 'that', 'for', 'shouldn', 'don', 'do', 'there', 'doing', 'an', 'or',\n",
    "    'ain', 'hers', 'wasn', 'weren', 'above', 'a', 'at', 'your', 'theirs',\n",
    "    'below', 'other', 'not', 're', 'him', 'during', 'which'\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:50:01.563142Z",
     "start_time": "2020-06-05T08:50:01.004192Z"
    }
   },
   "outputs": [],
   "source": [
    "# 将句子转化成单词列表\n",
    "texts = [[word for word in doc.lower().split() if word not in stoplist]\n",
    "         for doc in doclist]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:54:10.048179Z",
     "start_time": "2020-06-05T08:54:10.043137Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['thursday', 'march', 'pm', 'latest', 'syria', 'aiding', 'qaddafi', 'sid', 'hrc', 'memo', 'syria', 'aiding', 'libya', 'docx', 'hrc', 'memo', 'syria', 'aiding', 'libya', 'docx', 'march', 'hillary']\n"
     ]
    }
   ],
   "source": [
    "print(texts[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:55:31.915349Z",
     "start_time": "2020-06-05T08:55:31.552068Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[(508, 1), (1105, 1), (1240, 1), (1366, 1), (12077, 1), (14707, 1), (15952, 1), (23389, 1)]\n"
     ]
    }
   ],
   "source": [
    "# 词典\n",
    "dictionary = corpora.Dictionary(texts)\n",
    "\n",
    "# 将单词列表转换成向量\n",
    "corpus = [dictionary.doc2bow(text) for text in texts]\n",
    "\n",
    "# 返回每个 doc 对应的单词及词频\n",
    "print(corpus[5000])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:55:42.382080Z",
     "start_time": "2020-06-05T08:55:40.356804Z"
    }
   },
   "outputs": [],
   "source": [
    "# 训练模型\n",
    "lda = gensim.models.ldamodel.LdaModel(\n",
    "    corpus=corpus,\n",
    "    id2word=dictionary,\n",
    "    num_topics=20,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:55:43.745101Z",
     "start_time": "2020-06-05T08:55:43.738845Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.059*\"ok\" + 0.022*\"israeli\" + 0.021*\"israel\" + 0.012*\"jerusalem\" + 0.011*\"israels\"'"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 打印第 i 个主题\n",
    "lda.print_topic(10, topn=5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:55:46.100731Z",
     "start_time": "2020-06-05T08:55:46.092745Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(19,\n",
       "  '0.012*\"labour\" + 0.008*\"pm\" + 0.008*\"would\" + 0.008*\"well\" + 0.007*\"best\"'),\n",
       " (3,\n",
       "  '0.078*\"pm\" + 0.040*\"office\" + 0.031*\"secretarys\" + 0.023*\"meeting\" + 0.022*\"room\"'),\n",
       " (7,\n",
       "  '0.018*\"pls\" + 0.015*\"discuss\" + 0.007*\"forgot\" + 0.007*\"hair\" + 0.006*\"call\"'),\n",
       " (4,\n",
       "  '0.015*\"im\" + 0.013*\"tomorrow\" + 0.012*\"call\" + 0.012*\"talk\" + 0.010*\"also\"'),\n",
       " (16,\n",
       "  '0.038*\"pm\" + 0.024*\"huma\" + 0.020*\"fw\" + 0.019*\"release\" + 0.019*\"part\"'),\n",
       " (17,\n",
       "  '0.041*\"yes\" + 0.015*\"add\" + 0.014*\"call\" + 0.012*\"website\" + 0.011*\"arizona\"'),\n",
       " (12,\n",
       "  '0.009*\"new\" + 0.007*\"would\" + 0.006*\"obama\" + 0.006*\"mr\" + 0.006*\"right\"'),\n",
       " (9,\n",
       "  '0.017*\"bloomberg\" + 0.008*\"state\" + 0.008*\"language\" + 0.005*\"us\" + 0.005*\"could\"'),\n",
       " (8,\n",
       "  '0.065*\"fyi\" + 0.015*\"cheryl\" + 0.011*\"mills\" + 0.010*\"see\" + 0.009*\"kurdistan\"'),\n",
       " (0,\n",
       "  '0.014*\"call\" + 0.012*\"negotiating\" + 0.011*\"sent\" + 0.010*\"message\" + 0.009*\"blackberry\"')]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 打印最显著的主题\n",
    "lda.print_topics(num_topics=10, num_words=5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 使用模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:55:53.880449Z",
     "start_time": "2020-06-05T08:55:53.874842Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(3, 0.023184743)]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 单词所属的主题\n",
    "lda.get_term_topics(dictionary.token2id[\"meeting\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:56:00.943962Z",
     "start_time": "2020-06-05T08:56:00.937841Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.015*\"im\" + 0.013*\"tomorrow\" + 0.012*\"call\" + 0.012*\"talk\" + 0.010*\"also\" + 0.009*\"get\" + 0.009*\"know\" + 0.008*\"see\" + 0.007*\"want\" + 0.007*\"need\"'"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lda.print_topic(4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:56:06.474971Z",
     "start_time": "2020-06-05T08:56:06.468455Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.017*\"bloomberg\" + 0.008*\"state\" + 0.008*\"language\" + 0.005*\"us\" + 0.005*\"could\" + 0.004*\"organizing\" + 0.004*\"worse\" + 0.004*\"see\" + 0.004*\"mike\" + 0.004*\"polls\"'"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lda.print_topic(9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T08:56:27.261909Z",
     "start_time": "2020-06-05T08:56:27.257102Z"
    }
   },
   "outputs": [],
   "source": [
    "# 预测文本所属的主题\n",
    "test_texts = \"\"\"\n",
    "To all the little girls watching...never doubt that you are valuable and powerful & deserving of every chance & opportunity in the world.\n",
    "\n",
    "I was greeted by this heartwarming display on the corner of my street today. Thank you to all of you who did this. Happy Thanksgiving. -H\n",
    "\n",
    "Hoping everyone has a safe & Happy Thanksgiving today, & quality time with family & friends. -H\n",
    "\n",
    "Scripture tells us: Let us not grow weary in doing good, for in due season, we shall reap, if we do not lose heart.\n",
    "\n",
    "Let us have faith in each other. Let us not grow weary. Let us not lose heart. For there are more seasons to come and...more work to do\n",
    "\n",
    "We have still have not shattered that highest and hardest glass ceiling. But some day, someone will\n",
    "\n",
    "To Barack and Michelle Obama, our country owes you an enormous debt of gratitude. We thank you for your graceful, determined leadership\n",
    "\n",
    "Our constitutional democracy demands our participation, not just every four years, but all the time\n",
    "\n",
    "You represent the best of America, and being your candidate has been one of the greatest honors of my life\n",
    "\n",
    "Last night I congratulated Donald Trump and offered to work with him on behalf of our country\n",
    "\n",
    "Already voted? That's great! Now help Hillary win by signing up to make calls now\n",
    "\n",
    "It's Election Day! Millions of Americans have cast their votes for Hillary—join them and confirm where you vote\n",
    "\n",
    "We don’t want to shrink the vision of this country. We want to keep expanding it\n",
    "\n",
    "We have a chance to elect a 45th president who will build on our progress, who will finish the job\n",
    "\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T09:00:23.080851Z",
     "start_time": "2020-06-05T09:00:23.078214Z"
    }
   },
   "outputs": [],
   "source": [
    "test_doc_list = [[\n",
    "    word for word in clean_email_text(doc).lower().split()\n",
    "    if word not in stoplist\n",
    "] for doc in test_texts.split('\\n') if doc.strip()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T09:00:24.015864Z",
     "start_time": "2020-06-05T09:00:24.004298Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Thursday March PM Latest How Syria is aiding Qaddafi and more Sid hrc memo syria aiding libya docx hrc memo syria aiding libya docx March For Hillary\n",
      "________________________________________________________________________________\n",
      "Best Topic : 13 :  0.010*\"us\" + 0.006*\"would\" + 0.006*\"said\" + 0.005*\"people\" + 0.005*\"new\" + 0.005*\"one\" + 0.004*\"american\" + 0.004*\"un\" + 0.004*\"government\" + 0.004*\"security\"\n",
      "\n",
      "Thx\n",
      "________________________________________________________________________________\n",
      "Best Topic : 7 :  0.018*\"pls\" + 0.015*\"discuss\" + 0.007*\"forgot\" + 0.007*\"hair\" + 0.006*\"call\" + 0.006*\"remind\" + 0.006*\"emailed\" + 0.005*\"missing\" + 0.005*\"tell\" + 0.005*\"nd\"\n",
      "\n",
      "Friday March PM Huma Abedin Fw Latest How Syria is aiding Qaddafi and more Sid hrc memo syria aiding libya docx Pis print\n",
      "________________________________________________________________________________\n",
      "Best Topic : 4 :  0.015*\"im\" + 0.013*\"tomorrow\" + 0.012*\"call\" + 0.012*\"talk\" + 0.010*\"also\" + 0.009*\"get\" + 0.009*\"know\" + 0.008*\"see\" + 0.007*\"want\" + 0.007*\"need\"\n",
      "\n",
      "Pis print Wednesday September PM Fw Meet The Right Wing Extremist Behind Anti fvluslim Film That Sparked Deadly Riots From meat Sent Wednesday September PM To Subject Meet The Right Wing Extremist Behind Anti Muslim Film That Sparked Deadly Riots httemaxbiumenthalcommeet the right wing extremist behind anti musiim tihn that sparked deadly riots Sent from my Verizon Wireless LTE DROID US Department of State Case No Doc No Date STATE DEPT PRODUCED TO HOUSE SELECT BENGHAZI COMM SUBJECT TO AGREEMENT ON SENSITIVE INFORMATION REDACTIONS NO FOIA WAIVER STATE CB\n",
      "________________________________________________________________________________\n",
      "Best Topic : 5 :  0.013*\"pls\" + 0.011*\"copy\" + 0.009*\"pm\" + 0.008*\"call\" + 0.008*\"bill\" + 0.008*\"send\" + 0.007*\"give\" + 0.007*\"ill\" + 0.007*\"back\" + 0.007*\"also\"\n",
      "\n",
      "Friday March PM Huma Abedin Fw Latest How Syria is aiding Qaddafi and more Sid hrc memo Syria aiding libya docx Pis print\n",
      "________________________________________________________________________________\n",
      "Best Topic : 4 :  0.015*\"im\" + 0.013*\"tomorrow\" + 0.012*\"call\" + 0.012*\"talk\" + 0.010*\"also\" + 0.009*\"get\" + 0.009*\"know\" + 0.008*\"see\" + 0.007*\"want\" + 0.007*\"need\"\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# 进行主题预测\n",
    "doc_vec = [dictionary.doc2bow(doc) for doc in test_doc_list][:5]\n",
    "for i, doc in enumerate(doc_vec):\n",
    "    topics = lda[doc]\n",
    "    print(doclist[i])\n",
    "    print('_' * 80)    \n",
    "    print(f\"Best Topic : {topics[0][0]} : \", lda.print_topic(topics[0][0]))\n",
    "    print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T09:00:25.341581Z",
     "start_time": "2020-06-05T09:00:25.336351Z"
    }
   },
   "outputs": [],
   "source": [
    "# stop_list, dictionary, lda"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T09:11:42.933254Z",
     "start_time": "2020-06-05T09:11:42.926416Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[['little',\n",
       "  'girls',\n",
       "  'watchingnever',\n",
       "  'doubt',\n",
       "  'valuable',\n",
       "  'powerful',\n",
       "  'deserving',\n",
       "  'every',\n",
       "  'chance',\n",
       "  'opportunity',\n",
       "  'world'],\n",
       " ['greeted',\n",
       "  'heartwarming',\n",
       "  'display',\n",
       "  'corner',\n",
       "  'street',\n",
       "  'today',\n",
       "  'thank',\n",
       "  'happy',\n",
       "  'thanksgiving'],\n",
       " ['hoping',\n",
       "  'everyone',\n",
       "  'safe',\n",
       "  'happy',\n",
       "  'thanksgiving',\n",
       "  'today',\n",
       "  'quality',\n",
       "  'time',\n",
       "  'family',\n",
       "  'friends'],\n",
       " ['scripture',\n",
       "  'tells',\n",
       "  'us',\n",
       "  'let',\n",
       "  'us',\n",
       "  'grow',\n",
       "  'weary',\n",
       "  'good',\n",
       "  'due',\n",
       "  'season',\n",
       "  'shall',\n",
       "  'reap',\n",
       "  'lose',\n",
       "  'heart'],\n",
       " ['let',\n",
       "  'us',\n",
       "  'faith',\n",
       "  'let',\n",
       "  'us',\n",
       "  'grow',\n",
       "  'weary',\n",
       "  'let',\n",
       "  'us',\n",
       "  'lose',\n",
       "  'heart',\n",
       "  'seasons',\n",
       "  'come',\n",
       "  'andmore',\n",
       "  'work'],\n",
       " ['still',\n",
       "  'shattered',\n",
       "  'highest',\n",
       "  'hardest',\n",
       "  'glass',\n",
       "  'ceiling',\n",
       "  'day',\n",
       "  'someone'],\n",
       " ['barack',\n",
       "  'michelle',\n",
       "  'obama',\n",
       "  'country',\n",
       "  'owes',\n",
       "  'enormous',\n",
       "  'debt',\n",
       "  'gratitude',\n",
       "  'thank',\n",
       "  'graceful',\n",
       "  'determined',\n",
       "  'leadership'],\n",
       " ['constitutional',\n",
       "  'democracy',\n",
       "  'demands',\n",
       "  'participation',\n",
       "  'every',\n",
       "  'four',\n",
       "  'years',\n",
       "  'time'],\n",
       " ['represent',\n",
       "  'best',\n",
       "  'america',\n",
       "  'candidate',\n",
       "  'one',\n",
       "  'greatest',\n",
       "  'honors',\n",
       "  'life'],\n",
       " ['last',\n",
       "  'night',\n",
       "  'congratulated',\n",
       "  'donald',\n",
       "  'trump',\n",
       "  'offered',\n",
       "  'work',\n",
       "  'behalf',\n",
       "  'country'],\n",
       " ['already',\n",
       "  'voted',\n",
       "  'thats',\n",
       "  'great',\n",
       "  'help',\n",
       "  'hillary',\n",
       "  'win',\n",
       "  'signing',\n",
       "  'make',\n",
       "  'calls'],\n",
       " ['election',\n",
       "  'day',\n",
       "  'millions',\n",
       "  'americans',\n",
       "  'cast',\n",
       "  'votes',\n",
       "  'hillaryjoin',\n",
       "  'confirm',\n",
       "  'vote'],\n",
       " ['dont', 'want', 'shrink', 'vision', 'country', 'want', 'keep', 'expanding'],\n",
       " ['chance', 'elect', 'th', 'president', 'build', 'progress', 'finish', 'job']]"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_doc_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T09:11:50.206676Z",
     "start_time": "2020-06-05T09:11:50.194989Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([[0.05    , 0.05    , 0.05    , 0.05    , 0.05    , 0.05    ,\n",
       "         0.05    , 0.05    , 0.05    , 0.05    , 0.05    , 0.05    ,\n",
       "         0.05    , 9.046117, 0.05    , 0.05    , 0.05    , 0.05    ,\n",
       "         0.05    , 0.05    ]], dtype=float32),\n",
       " None)"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 返回句子对应的主题的权重分布，可以用作该句子的句向量\n",
    "\n",
    "bow = dictionary.doc2bow(test_doc_list[0])\n",
    "print(bow)\n",
    "\n",
    "lda.inference([bow])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T09:16:15.420003Z",
     "start_time": "2020-06-05T09:16:15.413632Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([[5.0000001e-02, 5.0000001e-02, 5.0000001e-02, 1.4875929e+00,\n",
       "         1.9909754e+01, 2.5722785e+00, 5.0000001e-02, 5.0000001e-02,\n",
       "         5.0000001e-02, 5.0000001e-02, 5.0000001e-02, 5.0000001e-02,\n",
       "         5.0000001e-02, 7.8837059e+01, 1.1592243e+01, 1.1613413e+00,\n",
       "         5.0000001e-02, 5.0000001e-02, 4.1515293e+00, 5.0000001e-02]],\n",
       "       dtype=float32),\n",
       " None)"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 返回段落对应的权重分布，可以用作段落向量\n",
    "bow = dictionary.doc2bow([w for doc in test_doc_list for w in doc])\n",
    "bow\n",
    "\n",
    "# 段落对应的权重分布\n",
    "lda.inference([bow])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# NIPS论文分类:sklearn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T05:46:05.432491Z",
     "start_time": "2020-06-05T05:46:04.622668Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>year</th>\n",
       "      <th>title</th>\n",
       "      <th>event_type</th>\n",
       "      <th>pdf_name</th>\n",
       "      <th>abstract</th>\n",
       "      <th>paper_text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1987</td>\n",
       "      <td>Self-Organization of Associative Database and ...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1-self-organization-of-associative-database-an...</td>\n",
       "      <td>Abstract Missing</td>\n",
       "      <td>767\\n\\nSELF-ORGANIZATION OF ASSOCIATIVE DATABA...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10</td>\n",
       "      <td>1987</td>\n",
       "      <td>A Mean Field Theory of Layer IV of Visual Cort...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10-a-mean-field-theory-of-layer-iv-of-visual-c...</td>\n",
       "      <td>Abstract Missing</td>\n",
       "      <td>683\\n\\nA MEAN FIELD THEORY OF LAYER IV OF VISU...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>100</td>\n",
       "      <td>1988</td>\n",
       "      <td>Storing Covariance by the Associative Long-Ter...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>100-storing-covariance-by-the-associative-long...</td>\n",
       "      <td>Abstract Missing</td>\n",
       "      <td>394\\n\\nSTORING COVARIANCE BY THE ASSOCIATIVE\\n...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1000</td>\n",
       "      <td>1994</td>\n",
       "      <td>Bayesian Query Construction for Neural Network...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1000-bayesian-query-construction-for-neural-ne...</td>\n",
       "      <td>Abstract Missing</td>\n",
       "      <td>Bayesian Query Construction for Neural\\nNetwor...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1001</td>\n",
       "      <td>1994</td>\n",
       "      <td>Neural Network Ensembles, Cross Validation, an...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1001-neural-network-ensembles-cross-validation...</td>\n",
       "      <td>Abstract Missing</td>\n",
       "      <td>Neural Network Ensembles, Cross\\nValidation, a...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     id  year                                              title event_type  \\\n",
       "0     1  1987  Self-Organization of Associative Database and ...        NaN   \n",
       "1    10  1987  A Mean Field Theory of Layer IV of Visual Cort...        NaN   \n",
       "2   100  1988  Storing Covariance by the Associative Long-Ter...        NaN   \n",
       "3  1000  1994  Bayesian Query Construction for Neural Network...        NaN   \n",
       "4  1001  1994  Neural Network Ensembles, Cross Validation, an...        NaN   \n",
       "\n",
       "                                            pdf_name          abstract  \\\n",
       "0  1-self-organization-of-associative-database-an...  Abstract Missing   \n",
       "1  10-a-mean-field-theory-of-layer-iv-of-visual-c...  Abstract Missing   \n",
       "2  100-storing-covariance-by-the-associative-long...  Abstract Missing   \n",
       "3  1000-bayesian-query-construction-for-neural-ne...  Abstract Missing   \n",
       "4  1001-neural-network-ensembles-cross-validation...  Abstract Missing   \n",
       "\n",
       "                                          paper_text  \n",
       "0  767\\n\\nSELF-ORGANIZATION OF ASSOCIATIVE DATABA...  \n",
       "1  683\\n\\nA MEAN FIELD THEORY OF LAYER IV OF VISU...  \n",
       "2  394\\n\\nSTORING COVARIANCE BY THE ASSOCIATIVE\\n...  \n",
       "3  Bayesian Query Construction for Neural\\nNetwor...  \n",
       "4  Neural Network Ensembles, Cross\\nValidation, a...  "
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import os\n",
    "\n",
    "papers = pd.read_csv(\"../datasets/papers.csv\")\n",
    "papers.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T05:46:07.296814Z",
     "start_time": "2020-06-05T05:46:07.287335Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>year</th>\n",
       "      <th>title</th>\n",
       "      <th>abstract</th>\n",
       "      <th>paper_text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1987</td>\n",
       "      <td>Self-Organization of Associative Database and ...</td>\n",
       "      <td>Abstract Missing</td>\n",
       "      <td>767\\n\\nSELF-ORGANIZATION OF ASSOCIATIVE DATABA...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1987</td>\n",
       "      <td>A Mean Field Theory of Layer IV of Visual Cort...</td>\n",
       "      <td>Abstract Missing</td>\n",
       "      <td>683\\n\\nA MEAN FIELD THEORY OF LAYER IV OF VISU...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1988</td>\n",
       "      <td>Storing Covariance by the Associative Long-Ter...</td>\n",
       "      <td>Abstract Missing</td>\n",
       "      <td>394\\n\\nSTORING COVARIANCE BY THE ASSOCIATIVE\\n...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1994</td>\n",
       "      <td>Bayesian Query Construction for Neural Network...</td>\n",
       "      <td>Abstract Missing</td>\n",
       "      <td>Bayesian Query Construction for Neural\\nNetwor...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1994</td>\n",
       "      <td>Neural Network Ensembles, Cross Validation, an...</td>\n",
       "      <td>Abstract Missing</td>\n",
       "      <td>Neural Network Ensembles, Cross\\nValidation, a...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   year                                              title          abstract  \\\n",
       "0  1987  Self-Organization of Associative Database and ...  Abstract Missing   \n",
       "1  1987  A Mean Field Theory of Layer IV of Visual Cort...  Abstract Missing   \n",
       "2  1988  Storing Covariance by the Associative Long-Ter...  Abstract Missing   \n",
       "3  1994  Bayesian Query Construction for Neural Network...  Abstract Missing   \n",
       "4  1994  Neural Network Ensembles, Cross Validation, an...  Abstract Missing   \n",
       "\n",
       "                                          paper_text  \n",
       "0  767\\n\\nSELF-ORGANIZATION OF ASSOCIATIVE DATABA...  \n",
       "1  683\\n\\nA MEAN FIELD THEORY OF LAYER IV OF VISU...  \n",
       "2  394\\n\\nSTORING COVARIANCE BY THE ASSOCIATIVE\\n...  \n",
       "3  Bayesian Query Construction for Neural\\nNetwor...  \n",
       "4  Neural Network Ensembles, Cross\\nValidation, a...  "
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "papers = papers.drop(columns=['id', 'event_type', 'pdf_name'], axis=-1)\n",
    "papers.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T05:46:10.575211Z",
     "start_time": "2020-06-05T05:46:09.129060Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    767\\n\\nself-organization of associative databa...\n",
       "1    683\\n\\na mean field theory of layer iv of visu...\n",
       "2    394\\n\\nstoring covariance by the associative\\n...\n",
       "3    bayesian query construction for neural\\nnetwor...\n",
       "4    neural network ensembles cross\\nvalidation and...\n",
       "Name: paper_text_processed, dtype: object"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 数据清洗\n",
    "import re\n",
    "papers['paper_text_processed'] = papers['paper_text'].map(\n",
    "    lambda x: re.sub('[,\\.!?]', '', x))\n",
    "papers['paper_text_processed'] = papers['paper_text_processed'].map(\n",
    "    lambda x: x.lower())\n",
    "papers['paper_text_processed'].head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T05:46:55.483128Z",
     "start_time": "2020-06-05T05:46:10.673943Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=400x200 at 0x7FCDEC6C8A10>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 词云\n",
    "from wordcloud import WordCloud\n",
    "long_string = ','.join(list(papers['paper_text_processed'].values))\n",
    "wordcloud = WordCloud(background_color='white',\n",
    "                      max_words=1000,\n",
    "                      contour_width=3,\n",
    "                      contour_color='steelblue')\n",
    "wordcloud.generate(long_string)\n",
    "wordcloud.to_image()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T05:47:19.323805Z",
     "start_time": "2020-06-05T05:47:07.714202Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x667.491 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 文本处理，词频统计\n",
    "from sklearn.feature_extraction.text import CountVectorizer\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set_style('whitegrid')\n",
    "%matplotlib inline\n",
    "\n",
    "\n",
    "def plot_10_most_common_words(count_data, count_vectorizer):\n",
    "    words = count_vectorizer.get_feature_names()\n",
    "    total_counts = np.zeros(len(words))\n",
    "    for t in count_data:\n",
    "        total_counts += t.toarray()[0]\n",
    "    count_dict = zip(words, total_counts)\n",
    "    count_dict = sorted(count_dict, key=lambda x: x[1], reverse=True)[:10]\n",
    "    words = [w[0] for w in count_dict]\n",
    "    counts = [w[1] for w in count_dict]\n",
    "    x_pos = np.arange(len(words))\n",
    "\n",
    "    plt.figure(2, figsize=(15, 15 / 1.6180))\n",
    "    plt.subplot(title='10 most common words')\n",
    "    sns.set_context(\"notebook\", font_scale=1.25, rc={\"lines.linewidth\": 2.5})\n",
    "    sns.barplot(x_pos, counts, palette='husl')\n",
    "    plt.xticks(x_pos, words, rotation=90)\n",
    "    plt.xlabel('words')\n",
    "    plt.ylabel('counts')\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "count_vectorizer = CountVectorizer(stop_words='english')\n",
    "count_data = count_vectorizer.fit_transform(papers['paper_text_processed'])\n",
    "plot_10_most_common_words(count_data, count_vectorizer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-05T06:07:23.548657Z",
     "start_time": "2020-06-05T06:05:32.317072Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Topics found via LDA:\n",
      "\n",
      "Topic #0:\n",
      "algorithm data matrix log 10 learning distribution problem function set\n",
      "\n",
      "Topic #1:\n",
      "model data learning network models training neural using networks time\n",
      "\n",
      "Topic #2:\n",
      "algorithm function set learning problem 10 xi data optimization algorithms\n",
      "\n",
      "Topic #3:\n",
      "model image figure time images neurons data network object input\n",
      "\n",
      "Topic #4:\n",
      "learning set state algorithm action time policy model using number\n"
     ]
    }
   ],
   "source": [
    "# 训练LDA模型\n",
    "import warnings\n",
    "warnings.simplefilter('ignore', DeprecationWarning)\n",
    "\n",
    "from sklearn.decomposition import LatentDirichletAllocation as LDA\n",
    "\n",
    "\n",
    "def print_topics(model, count_vectorizer, n_top_words):\n",
    "    words = count_vectorizer.get_feature_names()\n",
    "    for topic_idx, topic in enumerate(model.components_):\n",
    "        print(\"\\nTopic #%d:\" % topic_idx)\n",
    "        print(\" \".join(\n",
    "            [words[i] for i in topic.argsort()[:-n_top_words - 1:-1]]))\n",
    "\n",
    "\n",
    "num_topics = 5\n",
    "num_words = 10\n",
    "lda = LDA(n_components=num_topics)\n",
    "lda.fit(count_data)\n",
    "\n",
    "print(\"Topics found via LDA:\")\n",
    "print_topics(lda, count_vectorizer, num_words)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
